﻿/// <summary>
/// 狀態基類
/// </summary>
public abstract class StateBase<T>
{
    /// <summary>
    /// 狀態名
    /// </summary>
    public string StateName { get; set; }

    /// <summary>
    /// 狀態進入時執行
    /// </summary>
    public abstract void StateEnter(T entity);

    /// <summary>
    /// 狀態更新
    /// </summary>
    public abstract void Update(T entity);

    /// <summary>
    /// 狀態退出時執行
    /// </summary>
    public abstract void StateExit(T entity);
}
